package com.example.demo.domain.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.example.demo.domain.base.BaseDO;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * ProductCategoryDO
 *
 * @author haochen78
 * @date 2025/10/7 21:03
 **/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("product_category")
public class ProductCategoryDO extends BaseDO {

    /**
     * 分类名称
     */
    private String name;

    /**
     * 分类图标URL
     */
    private String icon;

    /**
     * 是否启用（1-启用，0-禁用）
     * <p>
     * 注意：数据库字段名为 is_enabled，MyBatis-Plus 默认会将 Java 的 'enabled' 映射为 'enabled'。
     * 为确保正确映射到 'is_enabled'，需要显式指定 @TableField。
     */
    @TableField("is_enabled")
    private Boolean enabled;

    /**
     * 分类标识
     */
    private String categoryKey;

    /**
     * 分类层级（1-一级，2-二级，3-三级）
     */
    private Integer level;

    /**
     * 排序值
     */
    private Integer sortOrder;

    /**
     * 父分类ID（0-顶级分类）
     */
    private Long parentId;

    /**
     * 父分类ID链（如：0,545191,）
     */
    private String parentIds;

    /**
     * 店铺ID
     */
    private Long shopId;

    /**
     * 分类类型
     */
    private String type;

    /**
     * 分类描述
     */
    private String description;
}
